import axios from 'axios'
import env from './env'
import {Message} from 'view-ui-plus'
import exception from "view-ui-plus/src/components/exception/index.js";

// 请求超时时间
axios.defaults.timeout = 6000 * 10;
// post请求头
axios.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8';

//kapi
// 设置公共url

const baseUrl = env[env.activeProfile]?.originFlag ? window.location.origin : '';
axios.defaults.baseURL = baseUrl + env[env.activeProfile].prefixPath

// 添加请求拦截器
axios.interceptors.request.use(function (config) {
    if (window?.hbosToken) {
        //prod_hbos_his_token
        var sb = window.hbosToken.split(";");
        var tt = "";
        for (var b in sb) {
            var key = sb[b];
            if (key.indexOf("prod_hbos_his_token") != -1) {
                tt = key.replace("prod_hbos_his_token=", "");
            }
        }
        config.headers["Hbos-Token"] = tt;
    } else {
        // Message.info("请先登陆");
      //  window.open(env[env.activeProfile].host);
    }
    // 在发送请求之前做些什么
    return config;
}, function (error) {
    Message.info("出错了" + error);
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
    // console.log(response.data.data);
    if (response.data == null || !response.data?.success) {
        Message.error(response.data?.message);
        throw "请求错误";
    }
    // 对响应数据做点什么
    return response.data.data;
}, function (error) {
    console.log(error);
    Message.info("出错了" + error);
    // 对响应错误做点什么
    return Promise.reject(error);
});

export default axios